package cn.iocoder.yudao.module.eval.dal.dataobject.monitoring;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 评价实施监控 DO
 *
 * @author 芋道源码
 */
@TableName("eval_monitoring_data")
@KeySequence("eval_monitoring_data_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EvalMonitoringDataDO extends TenantBaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    
    /**
     * 计划ID，关联eval_plans表
     */
    private Long planId;
    
    /**
     * 科目ID，关联eval_subjects表
     */
    private Long subjectId;
    
    /**
     * 监控类型：attendance-考勤，evaluator-考评员，supervisor-督导员，overall-整体
     */
    private String monitorType;
    
    /**
     * 监控数据，JSON格式
     */
    private String monitorData;
    
    /**
     * 监控时间
     */
    private LocalDateTime monitorTime;
    
    /**
     * 监控人员ID，关联system_users表
     */
    private Long monitorUserId;
    
    /**
     * 监控状态：0-正常，1-异常，2-警告
     */
    private Integer monitorStatus;
    
    /**
     * 异常描述
     */
    private String exceptionDescription;
    
    /**
     * 处理状态：0-未处理，1-已处理，2-处理中
     */
    private Integer handleStatus;
    
    /**
     * 处理人员ID，关联system_users表
     */
    private Long handlerId;
    
    /**
     * 处理时间
     */
    private LocalDateTime handleTime;
    
    /**
     * 处理结果
     */
    private String handleResult;

}
